function minOperationsToLovelyArray(arr) {
  // 首先找到数组中的最小值
  const minValue = Math.min(...arr);
  const limit = 2 * minValue; // 我们的目标是让所有数 <= 2 * 最小值
  let ops = 0; // 记录拆分次数

  for (const num of arr) {
    // 如果这个数本来就 <= limit，说明它已经合法，不用动
    if (num <= limit) continue;

    // 否则，我们要把它拆碎成 <= limit 的小块
    // ceil(num / limit) 表示至少要分成多少段
    const parts = Math.ceil(num / limit);

    // 分成 parts 段，需要进行 parts - 1 次操作（每多一块就是需要拆一次）
    ops += parts - 1;
  }

  return ops;
}

// 测试
console.log(minOperationsToLovelyArray([3, 6, 13])); // 输出 2

// 示例
console.log(minOpsToLovely([3, 6, 13])); // 2
